Kev*_*lly 14 .htaccess mod-rewrite
我在网上挖掘.htaccess并重写我需要对我的网站做的规则.
我看到了一些我不理解的东西,想知道它意味着什么
我想知道我需要使用的所有其他我需要使用的2个正则表达式之间有什么区别:
RewriteRule ^home$ mainpage.php?id=$1 [QSA]
Run Code Online (Sandbox Code Playgroud)
和
RewriteRule ^home(/)?$ mainpage.php?id=$1 [L]
Run Code Online (Sandbox Code Playgroud)
我看了QSA和L,但(/)意味着什么?
Boo*_*eus 18
表达式(/)?不是(/).这意味着URL上的斜杠或不斜杠.这两个网址将转到同一个地方:
http://www.domain.com/home/
和
http://www.domain.com/home
Run Code Online (Sandbox Code Playgroud)
因此斜杠是可选的.这样,如果机器人或搜索引擎放置它,该规则将起作用.
您可以像这样重写规则:
RewriteRule ^home/?$ mainpage.php?id=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
另外,我看到你说:
在我需要使用的所有其他人中
如果您的所有页面都转到同一个文件(在本例中为mainpage.php),您可以创建一个自动重写它们的规则,而不是创建10或15个规则(或更多).你可以这样做:
RewriteEngine on
REwriteBase /
RewriteRule ^([a-z0-9\-_]+)/?$ mainpage.php?id=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
此规则将使用Letters,Numbers,Dash和Underscores作为页面.
| 归档时间: |
|
| 查看次数: |
396 次 |
| 最近记录: |