如果在字符串后面有类似“/ UniqueID(仅限数字)/”的内容,例如:“/ 455 /”,在我的网址中,我想删除它。
以下是我现在在htaccess文件中的内容:
RewriteCond %{REQUEST_URI} m.*
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^m(.*)$ articles.php?$1 [T=application/x-httpd-php,L]
(我想它增加了一个隐藏的扩展名“articles.php”。
所以,如果我的网址看起来像这样:
www.mondomaine.com/m/234/ - no change needed for the visible part
如果它看起来像这样:
www.mondomaine.com/m/121/some-title/ - I want to delete "some-title/"
www.mondomaine.com/m/121/ - result expected for the visible part
所以,我想我们必须找到“/ numberonly /”并删除它之后的所有内容,然后确保“articles.php”部分仍然存在。但我不知道该怎么做。
答案 0 :(得分:0)
(我想它会增加一个隐藏的延伸" articles.php"。
没有。
RewriteRule
的地址以m
(然后是任何内容)开头,并将其提供给articles.php page
。
所以:
输入(浏览器看到的内容):
m.domain/m/cheese/goats
输出(页面服务器实际加载):
m.domains/articles.php?/cheese/goats
从我对上一个问题的回答中可以看出:
RewriteEngine On
RewriteRule ^(m/[0-9]+)/(.*)/?$ [NC,L,QSA]
这将重写以m/(numbers)
开头的任何网址,以便在数字后切断任何内容。
所以要在当前.htaccess
中使用它:
RewriteEngine On
RewriteCond %{REQUEST_URI} m.* #optional.
RewriteRule ^(m/[0-9]+)/?(.*)$ /$1 [NC,L,QSA]
RewriteCond %{REQUEST_URI} m.*
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^m(.*)$ articles.php?$1 [T=application/x-httpd-php,L]
现在:
input = http://www.mondomaine.com/m/121/treesand-horses/
仅限第一部分的结果:(在浏览器中显示为重定向):
http://www.mondomaine.com/m/121
和第二部分(浏览器未见):
http://www.mondomaine.com/articles.php?/121