我正在使用URL中的目录作为PHP变量。与Wordpress(如果不是所有的博客平台)类似,我想要一种方法,比如将domain.com/directory传递到php文件中。
这样做的原因是,当我创建自己的博客时,这些URL将是SEO友好的。
例如,而不是
domain.com/?blog=1&foo=1&bar=1&foobar=5
我想要
domain.com/1/1/1/5 or something
然后我可以使用explode函数来获取变量。
答案 0 :(得分:3)
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /?blog=$1&foo=$2&bar=$3&foobar=$4 [L]
google上有很多生成器,搜索它和关于重写规则的stackoverflow,你会发现很多信息。
答案 1 :(得分:1)
对于php中的该功能,您需要在您选择的Web服务器中使用mod_rewrite
或等效内容,并将url路径重写为get param。
谷歌“干净的网址drupal”,在野外举例说明。
答案 2 :(得分:1)
RewriteEngine On
RewriteRule ^(.*)$ /index.php?url=$1 [L]
然后在你的index.php中,你可以使用$_GET['url']
或者您可以跳过像css或javascript和图像文件那样存在的文件
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)$ /index.php?url=$1 [NC,L]
答案 3 :(得分:1)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)/(.*)/(.*)$ ?blog=$1&foo=$2&bar=$3&foobar=$4 [PT,L]
我认为这应该适用于你的案件。 (。*)将由/分隔的任何类型的一个或多个字符分组。在这种情况下,您将使用密钥例如foo
将它们作为GET否则作为爆炸的字符串:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ blog.php?string=$1 [PT,L]
假设在同一目录中有一个blog.php文件来处理字符串 希望它有所帮助