我想将我网站中一个文件夹(cartoon
)中的网址更改为友好的SEO网址。
此文件夹(cartoon
)包含与WordPress无关的PHP脚本。
来自:
example.com/cartoon/index.php?v=TitleEpisode
要:
example.com/cartoon/TitleEpisode
我在这里阅读了所有相关问题,但我没有受益。
我的主域名example.com
)上有WordPress。
我在.htaccess
文件中找到了这段代码:
DirectoryIndex index.html index.php index.htm parking-page.html
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
我该怎么办?
答案 0 :(得分:1)
好的,基于编辑,似乎你想要的是WordPress不要重写那个slug而是忽略它。
您可以通过修改.htaccess
来排除文件夹来执行此操作。确保该文件夹位于您网站的根目录中,例如与wp-admin
,wp-content
和wp-includes
相同的文件夹。
然后,打开.htaccess
并添加重写规则以忽略该文件夹:
DirectoryIndex index.html index.php index.htm parking-page.html
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# Add this condition with the folder you want to ignore (cartoon in your example)
RewriteCond %{REQUEST_URI} !^/(cartoon|cartoon/.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
OLD ANSWER
嗯,这是相当开放的。要获得更好的答案,请编辑问题以包含您已尝试过的内容。另外,“一个文件夹”是什么意思?这是自定义帖子类型吗?它是一个类别还是自定义分类?不同类型/分类法有不同的固定链接吗?请提供您想要做的更多细节。
但是对于通常情况,这里是pretty permalinks的文档。
首先,确保在Apache中启用URL Rewriting
。 Ubuntu / Debian中的示例
sudo a2enmod rewrite
sudo service apache2 restart
现在,在wp-admin中,转到设置 - &gt;固定链接。将固定链接设置为Post Name
。
然后点击保存更改。如果您的网站具有权限,它会自动保存新的.htaccess
,或者它会为您提供要复制和粘贴的新内容.htaccess
。
现在您应该能够查看帖子或页面,它应该显示SEO友好链接。
答案 1 :(得分:0)
您如何实施(或打算实施)example.com/cartoon/TitleEpisode
的路由?
如果这完全在WordPress之外,那么我希望你在.htaccess
子目录中有一个额外的/cartoon
文件(因为这可能是一个物理子目录)?仅此一项就足以覆盖父.htaccess
文件中的WordPress mod_rewrite指令,因为默认情况下不会继承mod_rewrite指令。
例如,只需在子目录中启用RewriteEngine
即可覆盖WP指令。
在/cartoon/.htaccess
:
RewriteEngine On
然后,为了将/cartoon/TitleEpisode
形式的网址路由到/cartoon/index.php?v=TitleEpisode
,您需要以下内容:
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ([^/]+) index.php?v=$1 [L]
(有点类似于父.htaccess
文件中的WP指令。)
我会避免在父# BEGIN
文件中的# END WordPress
和.htaccess
标记之间进行编辑,因为未来的WP更新可能会覆盖这些标记。
您将在 WP指令之前实现异常。例如:
RewriteRule ^cartoon - [L]
但是,如上所述,您可能最好在子目录中创建一个额外的.htaccess
文件,并且完全避免触及WordPress安装。
答案 2 :(得分:0)
它已经完成了。 我在.htaccess
的第一行之后输入# BEGIN for Cartoon Folder
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?cartoon/(.+)$ /cartoon/?v=$1 [L,QSA]
# END for Cartoon Folder
非常感谢你