คำถามติดแท็ก url-rewriting

16
ฉันจะแก้ไข URL โดยไม่ต้องโหลดหน้าซ้ำได้อย่างไร
มีวิธีที่ฉันสามารถแก้ไข URL ของหน้าปัจจุบันโดยไม่ต้องโหลดหน้าใหม่หรือไม่? ฉันต้องการเข้าถึงส่วนก่อนแฮช # ถ้าเป็นไปได้ ฉันต้องการเปลี่ยนส่วนหลังโดเมนเท่านั้นจึงไม่ใช่ว่าฉันละเมิดนโยบายข้ามโดเมน window.location.href = "www.mysite.com/page2.php"; // Sadly this reloads

24
htaccess ทั่วไปเปลี่ยนเส้นทาง www ไปที่ไม่ใช่ www
ผมอยากจะเปลี่ยนเส้นทางไปยังwww.example.com example.comรหัส htaccess ต่อไปนี้ทำให้สิ่งนี้เกิดขึ้น: RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] RewriteRule ^(.*)$ http://example.com/$1 [L,R=301] แต่มีวิธีการทำเช่นนี้ในแบบทั่วไปโดยไม่ต้องเข้ารหัสชื่อโดเมน?

8
เมื่อใดที่ฉันควรใช้เครื่องหมายทับต่อท้ายใน URL ของฉัน
เมื่อใดควรใช้เครื่องหมายทับต่อท้ายใน URL ยกตัวอย่างเช่น - ควรมอง URL ของฉันเหมือน/about-us/หรือชอบ/about-us? ฉันตระหนักดีถึงปัญหาที่เกี่ยวข้องกับ SEO - เนื้อหาซ้ำซ้อนและสิ่งที่เป็นที่ยอมรับ ฉันพยายามคิดว่าควรใช้อันไหนในบริบทของการแสดงหน้าอย่างถูกต้องตามลำพัง ตัวอย่างเช่นเพื่อนร่วมงานของฉันกำลังคิดว่าเครื่องหมายสแลชท้ายท้ายหมายความว่าเป็น "โฟลเดอร์" - "ไดเรกทอรี" ดังนั้นนี่จึงไม่ใช่สไตล์ที่ถูกต้อง แต่ฉันคิดว่าถ้าไม่มีการสแลชในตอนท้าย - มันก็ไม่ถูกต้องเหมือนกันเพราะมันเกือบจะดูเหมือนกับโฟลเดอร์ แต่มันก็ไม่ได้และมันก็ไม่ใช่ไฟล์ปกติเหมือนกัน มีวิธีที่เหมาะสมในการทราบว่าจะใช้หรือไม่

6
.htaccess mod_rewrite - วิธีแยกไดเรกทอรีออกจากกฎการเขียนซ้ำ
ฉันมีกฎการเขียนใหม่ 8 บรรทัดในไฟล์. htaccess ของฉัน ฉันต้องยกเว้นไดเรกทอรีทางกายภาพสองไดเรกทอรีบนเซิร์ฟเวอร์ของฉันจากกฎเหล่านี้เพื่อให้สามารถเข้าถึงได้ ตอนนี้คำขอทั้งหมดจะถูกส่งไปยังไฟล์ index.php ไดเรกทอรีที่จะยกเว้น: "ผู้ดูแลระบบ" และ "ผู้ใช้" ดังนั้นคำขอ http: http://www.domain.com/admin/ไม่ควรส่งผ่านไปยังไฟล์ index.php ErrorDocument 404 /index.php?mod=error404 Options FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] RewriteRule ^([^/] )/([^/] )\.html$ index.php?lang=$1&mod=$2 [L] RewriteRule ^([^/] )/$ index.php?lang=$1&mod=home [L]

7
ฉันจะกำหนดค่า IIS สำหรับ URL การเขียนแอปพลิเคชัน AngularJS ในโหมด HTML5 ได้อย่างไร
ฉันมีโครงการเมล็ดพันธุ์ AngularJSและฉันได้เพิ่ม $locationProvider.html5Mode(true).hashPrefix('!'); ไปที่ไฟล์ app.js ฉันต้องการกำหนดค่า IIS 7 เพื่อกำหนดเส้นทางการร้องขอทั้งหมด http://localhost/app/index.html ดังนั้นสิ่งนี้จึงเหมาะกับฉัน ฉันจะทำสิ่งนี้ได้อย่างไร ปรับปรุง: ฉันเพิ่งค้นพบดาวน์โหลดและติดตั้งโมดูล IIS URL Rewriteหวังว่ามันจะทำให้ง่ายและชัดเจนเพื่อให้บรรลุเป้าหมายของฉัน อัปเดต 2 : ฉันเดาว่านี่จะสรุปสิ่งที่ฉันพยายามจะทำให้สำเร็จ (นำมาจากเอกสารนักพัฒนา AngularJS ): การใช้โหมดนี้ต้องมีการเขียน URL ใหม่บนฝั่งเซิร์ฟเวอร์โดยทั่วไปคุณต้องเขียนลิงค์ทั้งหมดของคุณไปยังจุดเริ่มต้นของแอปพลิเคชันของคุณ (เช่น index.html) อัปเดต 3: ฉันยังคงทำสิ่งนี้อยู่และฉันรู้ว่าฉันไม่จำเป็นต้องเปลี่ยนเส้นทาง (มีกฎที่เขียนซ้ำ) URL บางอย่างเช่น http://localhost/app/lib/angular/angular.js http://localhost/app/partials/partial1.html ดังนั้นสิ่งที่อยู่ในไดเรกทอรี css, js, lib หรือ partials จะไม่ถูกเปลี่ยนเส้นทาง ทุกอย่างอื่นจะต้องถูกเปลี่ยนเส้นทางไปที่ app / index.html ใครรู้วิธีการบรรลุนี้ได้อย่างง่ายดายโดยไม่ต้องเพิ่มกฎสำหรับทุกไฟล์เดียว? อัปเดต …

5
การเขียน URL ใหม่ด้วย PHP
ฉันมี URL ที่มีลักษณะดังนี้: url.com/picture.php?id=51 ฉันจะแปลง URL นั้นเป็นอย่างไร: picture.php/Some-text-goes-here/51 ฉันคิดว่า WordPress ทำเช่นเดียวกัน ฉันจะสร้าง URL ที่จำง่ายใน PHP ได้อย่างไร

4
วิธีเปลี่ยนเส้นทาง url ใน NGINX
ฉันจำเป็นต้องเปลี่ยนเส้นทางทุกhttp://test.comการร้องขอไปยังhttp://www.test.com สามารถทำได้อย่างไร. ในบล็อกเซิร์ฟเวอร์ฉันพยายามเพิ่ม rewrite ^/(.*) http://www.test.com/$1 permanent; แต่ในเบราว์เซอร์ระบุว่า The page isn't redirecting properly Firefox has detected that the server is redirecting the request for this address in a way that will never complete. บล็อกเซิร์ฟเวอร์ของฉันดูเหมือน server { listen 80; server_name test.com; client_max_body_size 10M; client_body_buffer_size 128k; root /home/test/test/public; passenger_enabled on; rails_env production; …

5
ตั้งค่า nginx ไม่ให้หยุดทำงานหากไม่พบโฮสต์ในต้นน้ำ
เรามีแอพทางรถไฟหลายตัวภายใต้โดเมนทั่วไปใน Docker และเราใช้ nginx เพื่อส่งคำขอไปยังแอพเฉพาะ our_dev_server.com/foo # proxies to foo app our_dev_server.com/bar # proxies to bar Config มีลักษณะดังนี้: upstream foo { server foo:3000; } upstream bar { server bar:3000; } # and about 10 more... server { listen *:80 default_server; server_name our_dev_server.com; location /foo { # this is specific to …


17
วิธีตรวจสอบว่าเปิดใช้งาน mod_rewrite บนเซิร์ฟเวอร์หรือไม่
ฉันกำลังใช้โฮสติ้งที่มีLightspeedเซิร์ฟเวอร์ โฮสติ้งแจ้งว่าmod_rewriteเปิดใช้งานแล้ว แต่ฉันไม่สามารถใช้งานสคริปต์ได้ที่นั่น เมื่อใดก็ตามที่ฉันพยายามเข้าถึง URL มันจะส่งกลับ404 - not found page ฉันใส่รหัสเดียวกันที่เซิร์ฟเวอร์อื่นซึ่งทำงานกับ Apache มันทำงานตรงนั้น ดังนั้นฉันเดาว่ามันเป็นปัญหา.htaccessและmod_rewrite แต่ฝ่ายสนับสนุนโฮสติ้งยังคงยืนยันกับฉันว่า mod_rewrite ของพวกเขาเปิดอยู่ดังนั้นฉันจึงอยากทราบว่าจะตรวจสอบได้อย่างไรว่าเปิดใช้งานจริงหรือไม่ ผมลองเช็คดูphpinfo()แล้วแต่โชคไม่เจอที่mod_rewriteนั่นเป็นเพราะใช้งานอยู่lightspeedหรือเปล่า? มีวิธีใดในการตรวจสอบ? กรุณาช่วยฉันออกไป. ขอบคุณ. FYI:.htaccessรหัสของฉันคือ Options -Indexes <IfModule mod_rewrite.c> DirectoryIndex index.php RewriteEngine on RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ./index.php/$1 [L,QSA] </IfModule> ฉันพยายามเช่นนี้ด้วย DirectoryIndex index.php RewriteEngine on RewriteCond …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.