簡體   English   中英

我怎樣才能只為某些頁面重寫我的網址

[英]how can i rewrite my url for only certain pages

如何使用.htaccess僅重寫某些頁面的URL?

例如,我希望它能在index.php上工作,但不能在網站上的其余頁面上工作,也不能在除index.php之外的所有頁面上工作。

我遇到了子域和php腳本的問題,在這些問題中,我正在使用的URL重定向會弄亂東西。 以下是我要使用的腳本類型的示例。

Options +FollowSymLinks -MultiViews

# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## If the request is for a valid directory
RewriteCond %{REQUEST_FILENAME} -d [OR]
## If the request is for a valid file
RewriteCond %{REQUEST_FILENAME} -f [OR]
## If the request is for a valid link
RewriteCond %{REQUEST_FILENAME} -l
## don't do anything
RewriteRule ^ - [L]

RewriteRule ^([^/]+)/([^/]+)/?$ index.php/?node=$1&id=$2 [L,QSA]

RewriteRule ^([^/]+)/?$ index.php/?node=$1 [L,QSA]

誰能指出我正確的方向?

您可以將URL作為REQUEST_URI服務器變量傳遞:

RewriteCond %{REQUEST_URI} ^(your_url)$
RewriteRule %1 do_some_stuff

舉個例子:

RewriteCond %{REQUEST_URI} ^index.php$
RewriteRule %1 - [F]

或者只是將其傳遞給RewriteRule

RewriteRule ^index.php$ do_some_stuff

您應該查看.htaccess的RewriteCond (條件) 有關許多信息和示例,請參見http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

您也可以只為index.php編寫一條規則,然后將其標記為最后一條規則[l]

RewriteRule ^/index.php(.*)   /index.php$1  [L]
RedirectRule ^/(.*)$   /index.php?path=$1  [L]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM